list p=12f675 #include errorlevel -302 __CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT ;\\\\\\\\\\\\\\\\\\\\\ cblock 0x20 TIME1 endc ;\\\\\\\\\\\\\\\\\\\\\ ORG 0 GOTO MAIN ORG 4 GOTO LOOP1 ;\\\\\\\\\\\\\\\\\\\\\ MAIN BSF STATUS,RP0 MOVLW b'10111111' ;ビット6 1:立上りで割り込み 0:立下りで割り込み MOVWF OPTION_REG MOVLW b'00001100' MOVWF TRISIO MOVLW b'00000000' MOVWF ANSEL BCF STATUS,RP0 MOVLW b'00000111' MOVWF CMCON BSF INTCON,INTE BSF INTCON,GIE CLRF GPIO BSF FSR,0 ;\\\\\\\\\\\\\\\\\\\\\ LOOP GOTO LOOP ;\\\\\\\\\\\\\\\\\\\\\ LOOP1 CLRF GPIO MOVLW D'100' ;モード切替時のウエイト(50~255) MOVWF TIME1 DECFSZ TIME1,F GOTO $-1 BTFSS GPIO,3 GOTO CW GOTO CCW ;\\\\\\\\\\\\\\\\\\\\\ CW BTFSC FSR,0 GOTO R1 BTFSC FSR,1 GOTO R2 BTFSC FSR,2 GOTO R3 BTFSC FSR,3 GOTO R0 GOTO MAIN CCW BTFSC FSR,0 GOTO R3 BTFSC FSR,1 GOTO R0 BTFSC FSR,2 GOTO R1 BTFSC FSR,3 GOTO R2 GOTO MAIN ;\\\\\\\\\\\\\\\\\\\\\ R0 MOVLW b'00000011' MOVWF GPIO CLRF FSR BSF FSR,0 BSF INTCON,INTE BCF INTCON,INTF RETFIE R1 MOVLW b'00010010' MOVWF GPIO CLRF FSR BSF FSR,1 BSF INTCON,INTE BCF INTCON,INTF RETFIE R2 MOVLW b'00110000' MOVWF GPIO CLRF FSR BSF FSR,2 BSF INTCON,INTE BCF INTCON,INTF RETFIE R3 MOVLW b'00100001' MOVWF GPIO CLRF FSR BSF FSR,3 BSF INTCON,INTE BCF INTCON,INTF RETFIE ;\\\\\\\\\\\\\\\\\\\\\ END